Soru & Cevap

Admob SMART_BANNER sorunu

04.01.2017 - 05:25

Görsel kaldırıldı.Görsel kaldırıldı.

Android uygulamada buzamana kadar banner reklamlarında adSize=”BANNER” olarak kullanıyordum fakat tabletlerde reklamlar çok küçük görünüyor tıklama oranı çok az oluyor. Ekrana göre otomatik olarak büyüklüğünü ayarlayan adSize=”SMART_BANNER” kullanmaya başladım. Bunda da şöyle bir sıkıntı yaşıyorum.

Telefonda ekranı yatay hale getirdiğimde reklam çıkıyor hiç bir sıkıntı yok(Ekteki Resim1) fakat ekran normal haldeyken(Dik) reklam gösterimi yok(Ekteki Resim2). İnternette bunun ile ilgili bir kaç çözüm yolu buldum fakat hepsinde bir hata ile karşılaştım.

XML deki kodum

<com.google.android.gms.ads.AdView android:id="@+id/adView" android1:layout_below="@+id/paylas" android:layout_width="fill_parent" android:layout_height="wrap_content" ads:adUnitId="ca-app-pub-8786191356169416/1223678308" ads:adSize="SMART_BANNER" />

.java daki kodum

AdView adView = (AdView) this.findViewById(R.id.adView); AdRequest adRequest = new AdRequest.Builder().build(); adView.loadAd(adRequest);

adSize=”BANNER” olarak ayarladığımda sorun yok fakat SMART_BANNER de ekran dikey konumunda iken reklam gösterimi yok. Bunun çözümünü manuel olarak java kısmında reklam boyutunu ayarlamak mış. Çözüm yolu denediğim bir kaç sayfa aşağıda. Neleri yanlış yapıyorum veya sizin çözüm öneriniz nedir?

http://forums.makingmoneywithandroid.com/advertising-networks/3797-admob-banner-size-different-devices.html

http://stackoverflow.com/questions/20451510/admob-banner-size-for-different-devices

İlk bağlantıda adView = new AdView(this, adsize, admobunitid); satırında hata olıyorum. “AdView() in AdView cannot be applied to ” şeklinde

ikinci bağlantıda da “Required XML attribute “adSize” was missing.” hatası veriyor reklam görüntülenme yok

48 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

Profile picture for user rabia.kosem
rabia.kosem
05.01.2017 - 02:10
final EditText kelime_tv = (EditText) findViewById(R.id.txt_ara_kelime);
        final RelativeLayout.LayoutParams layoutparams = (RelativeLayout.LayoutParams) kelime_tv.getLayoutParams();
        AdSize adsize = AdSize.BANNER;
        DisplayMetrics dm = getResources().getDisplayMetrics();
        double density = dm.density * 160;
        double x = Math.pow(dm.widthPixels / density, 2);
        double y = Math.pow(dm.heightPixels / density, 2);
        double screenInches = Math.sqrt(x + y);

        if(screenInches > 8 ) {
            layoutparams.width=740; // reklama alakalı değil bu
            adsize = AdSize.LEADERBOARD;
        } else if (screenInches > 6) {
            layoutparams.width=490;
            adsize = AdSize.FULL_BANNER;
        } else {
            layoutparams.width=320;
            adsize = AdSize.BANNER;
        }
        kelime_tv.setLayoutParams(layoutparams);

        LinearLayout adContainer = (LinearLayout) findViewById(R.id.adView_rlt);
        AdView mAdView = new AdView(this);
        mAdView.setAdSize(adsize);
        mAdView.setAdUnitId("ca-app-pub-878619135616xxxx/1223678308");
        AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
        adRequestBuilder.addTestDevice(AdRequest.DEVICE_ID_EMULATOR);
        mAdView.loadAd(adRequestBuilder.build());
        LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT);
        adContainer.addView(mAdView, params);

 

ile olayı çözdük